package com.gucheng.springframework.beans.factory.support;


import com.gucheng.springframework.core.io.DefaultResourceLoader;
import com.gucheng.springframework.core.io.ResourceLoader;

/**
 * Bean定义接口的抽象实现方法
 */
public abstract class AbstractBeanDefinitionReader implements BeanDefinitionReader {

    //注册和管理 Bean 定义
    private final BeanDefinitionRegistry registry;

    //加载资源，如文件、类路径资源
    private ResourceLoader resourceLoader;

    //使用默认资源加载器的构造方法
    protected AbstractBeanDefinitionReader(BeanDefinitionRegistry registry) {
        this(registry, new DefaultResourceLoader());
    }

    //使用自定义资源加载器的构造方法
    public AbstractBeanDefinitionReader(BeanDefinitionRegistry registry, ResourceLoader resourceLoader) {
        this.registry = registry;
        this.resourceLoader = resourceLoader;
    }


    @Override
    public BeanDefinitionRegistry getRegistry() {
        return registry;
    }

    @Override
    public ResourceLoader getResourceLoader() {
        return resourceLoader;
    }

}
